Metarhia Configuration Loader
Installation
npm install @metarhia/config --save
const { Config } = require('@metarhia/config');
Usage
Load configuration with asynchronous constructor:
const { Config } = require('@metarhia/config');
const config = await new Config('./configDirectory');
console.log(config);
or factory:
const { readConfig } = require('@metarhia/config');
const config = await readConfig('./configDirectory');
Specify certain configuration sections to load:
const { Config } = require('@metarhia/config');
const options = { names: ['application', 'gateway'] };
const config = await new Config('./configDirectory', options);
Loag configuration in specified mode:
const { Config } = require('@metarhia/config');
const options = { mode: 'test' };
const config = await new Config('./configDirectory', options);
Specify sections and mode:
const { Config } = require('@metarhia/config');
const options = { mode: 'test', names: ['application', 'gateway'] };
const config = await new Config('./configDirectory', options);
Use custom context (sandbox) to execute configuration js file in it:
const vm = require('vm');
const common = require('@metarhia/common');
const { Config } = require('@metarhia/config');
const sandbox = { Duration: common.duration };
vm.createContext(sandbox);
const options = { sandbox };
const config = await new Config('./configDirectory', options);